<?php

/**
 * Permite hacer operaciones con la tabla proveedor de la base de datos
 * @package simertweb 
 * @subpackage models 
 * @category Recaudación
 * @author Grecia Espinoza <mrcl2587@gmail.com>
 * @author Juan Maldonado  <jgmaldonadoj@gmail.com>
 * @version 1.0  
 */
class Mproveedor extends Mpersona {

    function __construct() {
        parent::__construct();
        $this->load->database();
        $this->load->model('mhistorico');
        $this->load->model('mseries');
    }

    /**
     * Guarda un cliente de clientes de tarjetas prepago SIMERT
     */
    function guardarProveedor() {
       
        if($_POST['descuento'] == 15){
            $discapacidad = 1;
        }else{
            $discapacidad = 0;
        }
        $this->guardarPersona();
        $this->db->where('cedula', $_POST["cedula"]); //busca la persona segun la cedula ingresada
        $query = $this->db->get('persona')->row();
        $data = array(//obtiene los datos del formulario y los almacena en las variables
            'celular' => $_POST['celular'],
            'discapacidad' => $discapacidad,
            'descuento' => $_POST['descuento'],
            'nombreLocal' => strtoupper($_POST['local']),
            'Persona_idPersona' => $query->idPersona
        );
        $this->db->insert('proveedor', $data); //guarda los datos en la bd
        $id = mysql_insert_id();
        $this->mhistorico->guardar_acceso($id, "Modificación de un proveedor de tarjetas");
    }

    /**
     * Obtiene el número de cédula de un cliente de tarjetas prepago SIMERT
     * @param type $idProv es el id de un cliente de tarjetas prepago SIMERT
     * @return type string
     */
    function buscarCedula($idProv) {
        if (!empty($idProv)) {
            $this->db->where('idProveedor', $idProv);
            $pers = $this->db->get('proveedor')->row()->Persona_idPersona;
            $this->db->where('idPersona', $pers);
            return $this->db->get('persona')->row()->cedula;
        }
    }

    /**
     * Busca un cliente de tarjetas prepago SIMERT
     * @param type $cedula es el número de cédula de identidad
     * @return string
     */
    function buscarProveedor($cedula) {
        $bandera = 0;
        if ($this->mpersona->validarCI($cedula) == 1) {
            $this->db->where('cedula', $cedula);
            $pers = $this->db->get('persona');
            if ($pers->row() == NULL) {
                $bandera = 1;
            } else {
                $datos = $this->db->get('proveedor')->result();
                foreach ($datos as $value) {
                    if ($value->Persona_idPersona == $pers->row()->idPersona) {
                        $this->db->where("Persona_idPersona", $pers->row()->idPersona);
                        $proveedor = $this->db->get('proveedor')->result();
                        $persona = $pers->result();
                        $serie = $this->mseries->series();
                        $pro = array_merge($persona, $proveedor);
                        return array_merge($pro, $serie);
                    }
                    if ($value->Persona_idPersona != $pers->row()->idPersona) {
                        $bandera = 1;
                    }
                }
            }
            if ($bandera == 1) {
                return '<font color="red">CÉDULA NO CORRESPONDE A NINGÚN CLIENTE</font>';
            }
        } else {
            return '<font color="red">DATO INGRESADO INCORRECTO</font>';
        }
    }

    /**
     * Busca los nombres y el descuento de un cliente de tarjetas prepago SIMERT
     * @param type $cedula es el número de cédula de identidad
     * @return string
     */
    function buscarNombre($cedula) {
        $proveedor = $this->mproveedor->buscarProveedor($cedula);
        $prov = array(
            'cliente' => $proveedor->nombre . ' ' . $proveedor->apellido,
            'descuento' => $proveedor->descuento
        );
        return $prov;
    }

    /**
     * Obtiene los nombres de un cliente de tarjetas prepago SIMERT
     * @param type $cedula es el número de cédula de identidad
     * @return type string
     */
    function buscarNombres($cedula) {
        $this->db->where('cedula', $cedula);
        $pers = $this->db->get('persona');
        return $pers->row()->nombre . " " . $pers->row()->apellido;
    }

    /**
     * Actualiza la información de un cliente de tarjetas prepago SIMERT
     * @param type $cedula  es el número de cédula de identidad
     * @param type $nombre son los nombres
     * @param type $apellido son los apellidos
     * @param type $direccion es la dirección
     * @param type $telefono el el número de teléfono
     * @param type $correo es el correo electrónico
     * @param type $celular es el número de celular
     * @param type $discapacidad es si tiene o no discapacidad
     * @param type $descuento es el descuento qu tiene el cliente
     * @param type $local es el nombre del local
     * @return string
     */
    function actualizarProveedor($cedula, $nombre, $apellido, $direccion, $telefono, $correo, $celular, $descuento, $local) {
        $persona = array(
            'nombre' => strtoupper($nombre),
            'apellido' => strtoupper($apellido),
            'cedula' => $cedula,
            'direccion' => strtoupper($direccion),
            'correo' => $correo,
            'telefono' => $telefono
        );
        //actualiza los datos en la tabla persona
        $this->db->where('cedula', $cedula);
        $this->db->update('persona', $persona);
        //busca el id de persona
        $this->db->where('cedula', $cedula);
        $idPersona = $this->db->get('persona')->row()->idPersona;
        $proveedor = array(
            'celular' => $celular,
//            'discapacidad' => $discapacidad,
            'nombreLocal' => $local,
            'descuento' => $descuento
        );
        //actualiza los datos en la tabla proveedor
        $this->db->where("Persona_idPersona", $idPersona);
        $this->db->update('proveedor', $proveedor);
        $this->mhistorico->guardar_acceso($this->id_proveedor($idPersona), "Modificación de un proveedor de tarjetas");
    }

    /**
     * Obtiene el id de un cliente de tarjetas prepago SIMERT
     * @param type $idPersona es el id de persona
     * @return type int
     */
    function id_proveedor($idPersona) {
        $this->db->where('Persona_idPersona', $idPersona);
        $idProveedor = $this->db->get('proveedor')->row()->idProveedor;
        return $idProveedor;
    }

}

?>
